package com.xh.rufongwallpaper.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xh.rufongwallpaper.entity.Wallpaper;

/**
 * 收藏服务接口
 *
 * @author XH
 */
public interface FavoriteService {

    /**
     * 添加收藏
     *
     * @param deviceId    设备ID
     * @param wallpaperId 壁纸ID
     * @return 操作是否成功
     */
    boolean addFavorite(String deviceId, Long wallpaperId);

    /**
     * 取消收藏
     *
     * @param deviceId    设备ID
     * @param wallpaperId 壁纸ID
     * @return 操作是否成功
     */
    boolean removeFavorite(String deviceId, Long wallpaperId);

    /**
     * 获取设备收藏的壁纸列表
     *
     * @param deviceId  设备ID
     * @param pageIndex 页码(0-based)
     * @param pageSize  每页大小
     * @return 壁纸分页列表
     */
    Page<Wallpaper> getFavoriteWallpapers(String deviceId, int pageIndex, int pageSize);

    /**
     * 检查设备是否收藏了壁纸
     *
     * @param deviceId    设备ID
     * @param wallpaperId 壁纸ID
     * @return 是否收藏
     */
    boolean isFavorite(String deviceId, Long wallpaperId);

    /**
     * 统计设备的收藏数量
     *
     * @param deviceId 设备ID
     * @return 收藏数量
     */
    long countFavoritesByDeviceId(String deviceId);
} 